package com.myjava.thread;

/**
 * @auther: tao
 * @date: 2018/9/21 13:36
 * @description:
 */
public class TestJoin extends Thread {
    @Override
    public void run() {
        //线程循环10次输出
        for (int i = 1; i <= 10; i++) {
            System.out.println(Thread.currentThread().getName() + "第" + i + "次运行");
        }
        System.out.println(Thread.currentThread().getName() + "运行结束");
    }

    public static void main(String[] args) {
        //main函数的主线程开始运行
        System.err.println("主线程开始运行");
        TestJoin tj = new TestJoin();
        //创建线程类
        tj.setName("线程1");
        //给线程起名字
        try {
            long start = System.nanoTime();
            tj.start();
            //第二次运行可以把   tj.join() 注释掉，可以看到主线程先运行结束后才运行子线程
            tj.join();
            //等待tj线程运行结束
            long end = System.nanoTime();
            System.out.println("耗时" + (end - start) / 1000000 + "毫秒");
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        //main函数的主线程运行结束
        System.out.println("主线程运行结束");
    }
}
